Collaboration systems integrate work on one or more projects by several concurrent users at separate workstations. Examples of collaboration systems include groupware products such as Microsoft® Outlook® and Lotus® Notes®, which among other things, handle e-mail, tasks, and scheduling. More elaborate collaboration systems such as SAP® Business One supplement groupware with integrated management capabilities, such as financial management, customer relationship management, and sales management capabilities that provide access to real-time information.
Existing collaboration systems support a variety of business processes. An example of a business process supported on some collaboration systems is a workflow. A workflow routes tasks to groups of users, rather than a single individual. Workflows automate business processes by integrating tasks across departments, applications, and system boundaries. A workflow maps individual tasks needed to complete the workflow to users/groups, automatically informing users/groups of user of their role in the workflow and providing them with whatever information is required for the task. Steps which do not require user intervention may be carried out automatically.
Collaboration systems include subroutines to process user responses, and may include scheduling escalation procedures (e.g., adjust due dates; send reminders; reassign tasks) to assure that the workflow is completed in a timely manner. The workflow process creates a precise audit trail and can provide powerful analysis reporting to allow future optimization of the process.
A basic concept behind workflows is the idea of the “business scenarios” in which particular events or activities are anticipated to occur during the normal course of business. When a process needed to support such events/activities can be mapped out into a series of discrete, assignable tasks, a workflow can be created to support the process. An example of a business scenario in the banking context would be the handling of a loan request. Based on conventional business practice, a series of steps and particular information is needed in order to evaluate the request. These steps, who should complete them, and what information is needed can be mapped into a workflow, allowing the collaboration system to guide the loan request from receipt to decision with minimal human intervention.
The information-core of a workflow is a business object. A business object represents an entity in the real business world. For example, a business object can represent customers, contact persons, products, sales opportunities, sales activities, sales promotions, business transactions (e.g, a purchase order), a contract, a policy, and an application (e.g., a loan application). Each business object has elements that can be modeled to capture business data.
The inner structure of a business object is ordinarily concealed from a user. A business object may comprise persistent data (e.g., data tied to a database) and embedded business logic. The business logic is composed of machine-executable instructions which govern the behavior and properties of the object, including how the data is organized for presentation and the inter-relationship of data. Properties of the object may represent the attributes of the entity in the real business world, providing business “meaning” behind object data. For example, a Sales Order object can have properties like order number, order date, and quantity. The business logic may also include machine-executable instructions for performing specific operations such as the manipulation and validation of data. For example, the Sales Order object can have a method to calculate and get the line-items total.
While collaboration system have many advantages, these same systems have not provided users the possibility to extend a collaboration process outside of established workflow scenarios to gain support from other colleagues when seeking to solve a problem or answer a question. This lack of flexibility is a consequence of the real-time nature of collaboration system operations; workflows operate on business object data real-time, such that changes to data within a workflow are immediately reflected throughout the system (i.e., the data is “persistent” across the system).
A user could create an independent collaboration with other users via groupware e-mail or tasks without using a workflow provided by the business system. However, such independent collaborations are not tracked by the business system. As a result, the existence of independent collaborations may be unrecognized by others within an organization, increasing the likelihood of duplicated efforts. Further, such independent collaborations do not use a snapshot of the object which can be used to store the data after resolving the problem.
A related problem occurs when a database-reliant process requires data that is incompatible with the database, such as when an order is received in a floating monetary unit (i.e., most of the world's currencies) that is not recognized in the database. Ideally, the business system would recognize the currency and automatically handle value conversion, adjusting for changes in the exchange rate so that the actual value of the order is known at the time of fulfillment. With existing systems, a user is left to choose between handling the process outside of a business system workflow, adjusting the database to handle the unit, or converting the unit into a recognized unit for entry.
Handling the process outside the business system forfeits most of the efficiencies gained from utilizing an integrated system to collaborate. The second and third choices run the risk that currency fluctuation will introduce inaccurate charges. For example, if entry is delayed so that the database can be adjusted and a swing occurs in the exchange rate during that delay, the recorded charges are inaccurate. As another example, if the currency is converted into a known unit for entry and a swing occurs in exchange rate before the order is filled, the recorded charges are inaccurate.
As it is preferred in business to handle processes in an orderly, predictable manner and to create an audit trail, there is a need a system that provides the advantages of a workflow without the rigidity of a real-time system.